package com.yunbiao.communication.event;//package com.yunbiao.communication.event;
//
//import android.text.TextUtils;
//import android.util.Log;
//
//import com.alibaba.fastjson.JSONObject;
//import com.blankj.utilcode.util.AppUtils;
//import com.blankj.utilcode.util.NetworkUtils;
//import com.blankj.utilcode.util.SDCardUtils;
//import com.blankj.utilcode.util.ScreenUtils;
//
//import org.greenrobot.eventbus.EventBus;
//
//import io.reactivex.Observable;
//import io.reactivex.android.schedulers.AndroidSchedulers;
//
//public class XmppStateUtil {
//    private static final String TAG = "XmppStateUtil";
//
//    private static boolean isConnected = false;
//    public static void sendStateListener(boolean b) {
//        isConnected = b;
//        EventBus.getDefault().postSticky(new UpdateCommunicateStateEvent(isConnected));
//    }
//
//    private static final int ONLINE = 1;// 上线
//
//    private static final int VOICE = 3;//"voice":0.4
//
//    private static final int SCREEN_SHOT = 4;
//
//    private static final int POWER_POLICY = 5;
//
//    private static final int SHOW_NUMBER = 6;
//
//    private static final int SHOW_VERSION = 7;
//
//    private static final int RESTART = 9;
//
//    public static void handleMessage(String message){
//        Observable
//                .create(e -> {
//                    Log.d(TAG, "handleMessage: " + message);
//
//                    JSONObject jsonObject = JSONObject.parseObject(message);
//                    Integer type = jsonObject.getInteger("type");
//                    String content = jsonObject.getString("content");
//
//                    switch (type) {
//                        case ONLINE:
//                            handleOnline(content);
//                            break;
//                        case VOICE:
//                            hanleVoice(content);
//                            break;
//                        case SCREEN_SHOT:
//                            handleScreenShot();
//                            break;
//                        case POWER_POLICY:
//                            handlePowerPolicy();
//                            break;
//                        case SHOW_NUMBER:
//                            handleNumber();
//                            break;
//                        case SHOW_VERSION:
//                            uploadVersion();
//                            break;
//                        case RESTART:
//                            handlePower(content);
//                            break;
//                    }
//                })
//                .subscribeOn(AndroidSchedulers.mainThread())
//                .observeOn(AndroidSchedulers.mainThread())
//                .subscribe();
//    }
//
//    private static void handleScreenShot() {
//        ScreenShotUtil.getInstance().takeScreenshot(MyApp.getContext(), (isSucc, filePath) -> ScreenShotUtil.getInstance().sendCutFinish(filePath));
//    }
//
//    private static void handlePower(String content) {
//        JSONObject jsonObject = JSONObject.parseObject(content);
//        int value = jsonObject.getIntValue("restart");
//        if(value == 0){
//            Power.getInstance().shutdown();
//        } else {
//            Power.getInstance().reboot();
//        }
//    }
//
//    private static void handleNumber() {
//        String string = Cache.getString(Cache.Key.KEY_SERIAL_NUMBER);
//        if(!TextUtils.isEmpty(string)){
//            T.i("设备编号：" + string);
//        }
//    }
//
//    private static void handleOnline(String content){
//        JSONObject jsonObject = JSONObject.parseObject(content);
//        String pwd = jsonObject.getString("pwd");
//        String serNum = jsonObject.getString("serNum");
//        String password = jsonObject.getString("password");
//        Cache.setString(Cache.Key.KEY_BIND_CODE,pwd);
//        Cache.setString(Cache.Key.KEY_SERIAL_NUMBER,serNum);
//        Cache.setString(Cache.Key.KEY_SYSTEM_PASSWORD,password);
//        //上传硬件信息
////        upLoadHardWareMessage();
//        //发送菜单更新事件
//        EventUtil.post(new UpdateDeviceInfoEvent());
//        //更新设备类型
//        updateDeviceType();
//    }
//
//    private static void handlePowerPolicy(){
//        Power.getInstance().getRemotePowerParams();
//    }
//
//    private static void hanleVoice(String content) {
//        JSONObject jsonObject = JSONObject.parseObject(content);
//        Double voice = jsonObject.getDouble("voice");
//        T.i("调整音量：" + voice);
//        EventUtil.post(new VolumeUpdateEvent(voice));
//    }
//
//    private static void updateDeviceType(){
//        HttpParams httpParams = new HttpParams();
//        httpParams.put("deviceType","12");
//        httpParams.put("deviceSource","1");
//        RequestUtils.postResponse(Net.URL.UPDATE_DEVICE_TYPE, httpParams, BaseResponse.class, new HttpCallback() {
//            @Override
//            public void onHttpSuccess(BaseResponse response) {
//
//            }
//        });
//    }
//
//    private static void uploadVersion(){
//        String appVersionName = AppUtils.getAppVersionName();
//        T.i("当前版本：" + appVersionName);
//
//        HttpParams httpParams = new HttpParams();
//        httpParams.put("version", appVersionName);
//        httpParams.put("type", 12 + "");
//        RequestUtils.postString(Net.URL.UPLOAD_VERSION, httpParams, new StringCallback() {
//            @Override
//            public void onSuccess(Response<String> response) {
//
//            }
//        });
//    }
//
//    private static void upLoadHardWareMessage() {
//        HttpParams params = new HttpParams();
//        params.put("deviceNo", System.getUniqueId());
//        params.put("screenWidth", String.valueOf(ScreenUtils.getScreenWidth()));
//        params.put("screenHeight", String.valueOf(ScreenUtils.getScreenHeight()));
//        long internalTotalSize = SDCardUtils.getInternalTotalSize();
//        params.put("diskSpace", String.valueOf(internalTotalSize/1024/1024));
//        long internalAvailableSize = SDCardUtils.getInternalAvailableSize();
//        long usedSize = internalTotalSize - internalAvailableSize;
//        params.put("useSpace", String.valueOf(usedSize/1024/1024));
//        params.put("softwareVersion", AppUtils.getAppVersionName() + "_12");
//        params.put("screenRotate",String.valueOf(System.getDisplayRotation()));
//        params.put("deviceIp", NetworkUtils.getIPAddress(true));//当前设备IP地址
//        params.put("mac", System.getLocalMacAddress());//设备的本机MAC地址
//
//        params.put("deviceCpu", System.Hardware.getCpuName() + " " +
//                System.Hardware.getNumCores() + "核" + System.Hardware.getMaxCpuFreq() + "khz");
//        params.put("camera", System.Hardware.checkCamera());//设备是否有摄像头 1有  0没有
//        params.put("timeZone",System.getTimeZoneId());//当前时区
////        map.put("source", BuildConfig.MANUFACTOR_TYPE+"");//厂商类型
//
//        RequestUtils.postString(Net.URL.UPLOAD_HARD_WARE_INFO, params, new StringCallback() {
//            @Override
//            public void onSuccess(Response<String> response) {
//
//            }
//        });
//    }
//
//}
